Draw the arrows correctly.
author7 <jrb@redhat.com>
Tue, 17 Oct 2000 23:06:56 +0000 (23:06 +0000)
committerJonathan Blandford <jrb@src.gnome.org>
Tue, 17 Oct 2000 23:06:56 +0000 (23:06 +0000)
2000-10-17    <jrb@redhat.com>

* gtk/gtktreeview.c: Draw the arrows correctly.

Also, commit a few minor fixes so Havoc can make a model.

ChangeLog
ChangeLog.pre-2-0
ChangeLog.pre-2-10
ChangeLog.pre-2-2
ChangeLog.pre-2-4
ChangeLog.pre-2-6
ChangeLog.pre-2-8
gtk/gtktreemodel.c
gtk/gtktreemodel.h
gtk/gtktreeview.c

index 0b2a365fb921717f5aa6460ca45a4679a6e585cf..d206b49b534d616087893713e5226bcbbbb95586 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,7 @@
 2000-10-17    <jrb@redhat.com>
 
+       * gtk/gtktreeview.c: Draw the arrows correctly.
+
        * gtk/gtktreemodel.c: Added user docs.
 
        * gtk/gtk.h: remove gtktreedatalist.h.
index 0b2a365fb921717f5aa6460ca45a4679a6e585cf..d206b49b534d616087893713e5226bcbbbb95586 100644 (file)
@@ -1,5 +1,7 @@
 2000-10-17    <jrb@redhat.com>
 
+       * gtk/gtktreeview.c: Draw the arrows correctly.
+
        * gtk/gtktreemodel.c: Added user docs.
 
        * gtk/gtk.h: remove gtktreedatalist.h.
index 0b2a365fb921717f5aa6460ca45a4679a6e585cf..d206b49b534d616087893713e5226bcbbbb95586 100644 (file)
@@ -1,5 +1,7 @@
 2000-10-17    <jrb@redhat.com>
 
+       * gtk/gtktreeview.c: Draw the arrows correctly.
+
        * gtk/gtktreemodel.c: Added user docs.
 
        * gtk/gtk.h: remove gtktreedatalist.h.
index 0b2a365fb921717f5aa6460ca45a4679a6e585cf..d206b49b534d616087893713e5226bcbbbb95586 100644 (file)
@@ -1,5 +1,7 @@
 2000-10-17    <jrb@redhat.com>
 
+       * gtk/gtktreeview.c: Draw the arrows correctly.
+
        * gtk/gtktreemodel.c: Added user docs.
 
        * gtk/gtk.h: remove gtktreedatalist.h.
index 0b2a365fb921717f5aa6460ca45a4679a6e585cf..d206b49b534d616087893713e5226bcbbbb95586 100644 (file)
@@ -1,5 +1,7 @@
 2000-10-17    <jrb@redhat.com>
 
+       * gtk/gtktreeview.c: Draw the arrows correctly.
+
        * gtk/gtktreemodel.c: Added user docs.
 
        * gtk/gtk.h: remove gtktreedatalist.h.
index 0b2a365fb921717f5aa6460ca45a4679a6e585cf..d206b49b534d616087893713e5226bcbbbb95586 100644 (file)
@@ -1,5 +1,7 @@
 2000-10-17    <jrb@redhat.com>
 
+       * gtk/gtktreeview.c: Draw the arrows correctly.
+
        * gtk/gtktreemodel.c: Added user docs.
 
        * gtk/gtk.h: remove gtktreedatalist.h.
index 0b2a365fb921717f5aa6460ca45a4679a6e585cf..d206b49b534d616087893713e5226bcbbbb95586 100644 (file)
@@ -1,5 +1,7 @@
 2000-10-17    <jrb@redhat.com>
 
+       * gtk/gtktreeview.c: Draw the arrows correctly.
+
        * gtk/gtktreemodel.c: Added user docs.
 
        * gtk/gtk.h: remove gtktreedatalist.h.
index a752884da833ee812167761aa8c946b94dade336..aaee6974ae393851b5dee64e4c5a3b6866038b8d 100644 (file)
@@ -173,7 +173,7 @@ gtk_tree_path_append_index (GtkTreePath *path,
   g_return_if_fail (path != NULL);
   g_return_if_fail (index >= 0);
 
-  new_indices =  = g_new (gint, ++path->depth);
+  new_indices = g_new (gint, ++path->depth);
   if (path->indices == NULL)
     {
       path->indices = new_indices;
index a293a41cf542da95df9a7d988ee302188d8749d6..36aca525da316c37113ba50a80a38bce8e3f703b 100644 (file)
@@ -100,8 +100,8 @@ gint           gtk_tree_path_get_depth        (GtkTreePath  *path);
 gint          *gtk_tree_path_get_indices      (GtkTreePath  *path);
 void           gtk_tree_path_free             (GtkTreePath  *path);
 GtkTreePath   *gtk_tree_path_copy             (GtkTreePath  *path);
-gint           gtk_tree_path_compare          (GtkTreePath  *a,
-                                              GtkTreePath  *b);
+gint           gtk_tree_path_compare          (const GtkTreePath *a,
+                                              const GtkTreePath *b);
 void           gtk_tree_path_next             (GtkTreePath  *path);
 gint           gtk_tree_path_prev             (GtkTreePath  *path);
 gint           gtk_tree_path_up               (GtkTreePath  *path);
@@ -140,3 +140,4 @@ GtkTreeNode    gtk_tree_model_node_parent     (GtkTreeModel *tree_model,
 
 
 #endif /* __GTK_TREE_MODEL_H__ */
+
index fea72df8bfb79398d5f3f54e5e13c2681cf17254..6f0b4ab4d5c3f94cb76d497f97207908ff368b75 100644 (file)
@@ -2686,6 +2686,9 @@ gtk_tree_view_draw_arrow (GtkTreeView *tree_view,
   GtkShadowType shadow;
   GdkPoint points[3];
 
+  if (! GTK_RBNODE_FLAG_SET (node, GTK_RBNODE_IS_PARENT))
+    return;
+
   area.x = 0;
   area.y = offset + TREE_VIEW_VERTICAL_SEPERATOR;
   area.width = tree_view->priv->tab_offset - 2;
@@ -2711,9 +2714,7 @@ gtk_tree_view_draw_arrow (GtkTreeView *tree_view,
       shadow = GTK_SHADOW_OUT;
     }
 
-  if (TRUE ||
-      (((node->flags & GTK_RBNODE_IS_PARENT) == GTK_RBNODE_IS_PARENT) &&
-       node->children))
+  if (node->children == NULL)
     {
       points[0].x = area.x + 2;
       points[0].y = area.y + (area.height - TREE_VIEW_EXPANDER_HEIGHT)/2;
@@ -2721,7 +2722,15 @@ gtk_tree_view_draw_arrow (GtkTreeView *tree_view,
       points[1].y = points[0].y + TREE_VIEW_EXPANDER_HEIGHT/2;
       points[2].x = points[0].x;
       points[2].y = points[0].y + TREE_VIEW_EXPANDER_HEIGHT;
-
+    }
+  else
+    {
+      points[0].x = area.x;
+      points[0].y = area.y + (area.height - TREE_VIEW_EXPANDER_WIDTH/2)/2;
+      points[1].x = points[0].x + TREE_VIEW_EXPANDER_WIDTH;
+      points[1].y = points[0].y;
+      points[2].x = points[0].x + (TREE_VIEW_EXPANDER_WIDTH) /2;
+      points[2].y = points[0].y + TREE_VIEW_EXPANDER_HEIGHT/2;
     }
 
   gdk_draw_polygon (tree_view->priv->bin_window,
@@ -3343,6 +3352,7 @@ gtk_tree_view_append_column (GtkTreeView       *tree_view,
   g_return_val_if_fail (GTK_IS_TREE_VIEW_COLUMN (column), -1);
   g_return_val_if_fail (column->tree_view == NULL, -1);
 
+  g_object_ref (G_OBJECT (column));
   tree_view->priv->column = g_list_append (tree_view->priv->column,
                                           column);
   column->tree_view = GTK_WIDGET (tree_view);
@@ -3367,12 +3377,12 @@ gtk_tree_view_remove_column (GtkTreeView       *tree_view,
   g_return_val_if_fail (GTK_IS_TREE_VIEW (tree_view), -1);
   g_return_val_if_fail (column != NULL, -1);
   g_return_val_if_fail (GTK_IS_TREE_VIEW_COLUMN (column), -1);
-  g_return_val_if_fail (column->tree_view == tree_view, -1);
+  g_return_val_if_fail (column->tree_view == GTK_WIDGET (tree_view), -1);
 
   tree_view->priv->column = g_list_remove (tree_view->priv->column,
                                            column);
   column->tree_view = NULL;
-  g_object_unref (column);
+  g_object_unref (G_OBJECT (column));
 
   return tree_view->priv->columns--;
 }
@@ -3399,6 +3409,7 @@ gtk_tree_view_insert_column (GtkTreeView       *tree_view,
   g_return_val_if_fail (GTK_IS_TREE_VIEW_COLUMN (column), -1);
   g_return_val_if_fail (column->tree_view == NULL, -1);
 
+  g_object_ref (G_OBJECT (column));
   tree_view->priv->column = g_list_insert (tree_view->priv->column,
                                            column, position);
   column->tree_view = GTK_WIDGET (tree_view);
@@ -3472,9 +3483,6 @@ gtk_tree_view_move_to (GtkTreeView       *tree_view,
 
   if (tree_view->priv->hadjustment && column >= 0)
     {
-      GtkTreeViewColumn *col;
-
-      col = g_list_nth (tree_view->priv->column, column)->data;
       /* FIXME -- write  */
     }
 }